Adding support for .NET Core #36
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This branch attempts at a conversion of the library to .NET Core with project.json/xproj files. I'm motivated to do this because another library I use (Disque.Net) uses this library, and converting this to .NET Core is a blocker in getting Disque.Net over.
The primary issues I've had in the conversion was the dependency on
System.Runtime.Serialization, but as it turned out the only real dependency in that namespace wasFormatterConverter, and all it contains is a bunch of calls toSystem.Convertwhich, thankfully, is available on Core.I updated the test project to be a Core project as well, and all the tests are passing.
The only contract level change I had to make that may affect consumers is that
IRedisSocketnow returns aTask<Stream>instead of aStreamin theGetStreammethod. This is to accommodateSslStreamwhich now only exposes an async method for authenticating.The other potentially troublesome change I made is that the relationship between
OnConnectedandOnAsyncConnectedonRedisConnectorhas been inverted to account for the change described above.I also had to disable strong-name signing of the assemblies to get the tests to run locally.